/**
 * 社会组织机构代码校验
 */
export var UniscidRegExp = /^[^_IOZSVa-z\W]{2}\d{6}[^_IOZSVa-z\W]{10}$/;

/**
 * 手机号码校验
 */
export var MobileRegExp = /^1[0-9]\d{9}$/;

/**
 * 固定电话号码校验(前面3-4位后面7-14位)
 */
export var FixphoneRegExp = /^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/;

/**
 * 电话号码校验
 */
export var TelphoneRegExp = /^1[0-9]\d{9}$|^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/;

/**
 * 邮政编码校验
 */
export var PostRegExp = /^(0[1-7]|1[0-356]|2[0-7]|3[0-6]|4[0-7]|5[1-7]|6[1-7]|7[0-5]|8[013-6])\d{4}$/;

/**
 * url校验
 */
export var UrlRegExp = /^(?:(?:(?:https?|ftp):)?\/\/)(?:(?:[^\]\[?\/<~#`!@$^&*()+=}|:";',>{ ]|%[0-9A-Fa-f]{2})+(?::(?:[^\]\[?\/<~#`!@$^&*()+=}|:";',>{ ]|%[0-9A-Fa-f]{2})*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?)|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff])|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62}\.)))(?::\d{2,5})?(?:[/?#]\S*)?$/i;

/**
 * ipv4校验
 */
export var Ipv4RegExp = /^(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)$/;

/**
 * ipv6校验
 */
export var Ipv6RegExp = /^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/i;

/**
 * 端口号校验
 */
export var PortRegExp = /^((6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])|[0-5]?\d{0,4})$/;

/**
 * 邮箱校验
 */
export var EmailRegExp = /^[\.A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;

/**
 * api请求路径校验: path应以/开头,不能以/结尾,可以包含数字字母和以下特殊字符&@#%?=~_
 */
export var PathRegExp = /^([/][-A-Za-z0-9+&@#%?.=~_]+)*$/;

/**
 * 仅限字母校验
 */
export var LettersRegExp = /^[a-z]+$/i;

/**
 * 正负数校验
 */
export var IntegerRegExp = /^(\-|\+)?\d+$/;

/**
 * 正整数校验
 */
export var PositiveIntegerRegExp = /[1-9]\d*/;

/**
 * 自然数校验
 */
export var NatureIntegerRegExp = /^[+]{0,1}(\d+)$/;

/**
 * 英文字母、数字、下划线校验
 */
export var AlphaNumberIcRegExp = /^\w+$/;

/**
 * 英文字母、数字、下划线、中文校验
 */
export var AlphaNumberIcCnRegExp = /^[\u4E00-\u9FA5A-Za-z0-9_]+$/;

/**
 * 英文字母、下划线、中文校验
 */
export var AlphaIcCnRegExp = /^[\u4E00-\u9FA5A-Za-z_]+$/;